summaryrefslogtreecommitdiff
path: root/app/[lng]/partners/(partners)/bid/page.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-08-27 12:06:26 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-08-27 12:06:26 +0000
commit7548e2ad6948f1c6aa102fcac408bc6c9c0f9796 (patch)
tree8e66703ec821888ad51dcc242a508813a027bf71 /app/[lng]/partners/(partners)/bid/page.tsx
parent7eac558470ef179dad626a8e82db5784fe86a556 (diff)
(대표님, 최겸) 기본계약, 입찰, 파일라우트, 계약서명라우트, 인포메이션, 메뉴설정, PQ(메일템플릿 관련)
Diffstat (limited to 'app/[lng]/partners/(partners)/bid/page.tsx')
-rw-r--r--app/[lng]/partners/(partners)/bid/page.tsx51
1 files changed, 51 insertions, 0 deletions
diff --git a/app/[lng]/partners/(partners)/bid/page.tsx b/app/[lng]/partners/(partners)/bid/page.tsx
new file mode 100644
index 00000000..bcb2ad25
--- /dev/null
+++ b/app/[lng]/partners/(partners)/bid/page.tsx
@@ -0,0 +1,51 @@
+import { PartnersBiddingList } from '@/lib/bidding/vendor/partners-bidding-list'
+import { Suspense } from 'react'
+import { Skeleton } from '@/components/ui/skeleton'
+import { getServerSession } from 'next-auth'
+import { authOptions } from "@/app/api/auth/[...nextauth]/route"
+
+export default async function PartnersBidPage() {
+ // 세션에서 companyId 가져오기
+ const session = await getServerSession(authOptions)
+ const companyId = session?.user?.companyId
+
+ if (!companyId) {
+ return (
+ <div className="container mx-auto py-6">
+ <div className="text-center">
+ <h1 className="text-2xl font-bold text-destructive">회사 정보가 없습니다. 다시 로그인 해주세요.</h1>
+ </div>
+ </div>
+ )
+ }
+
+ return (
+ <div className="container mx-auto py-6 space-y-6">
+ <div className="flex items-center justify-between">
+ <div>
+ <h1 className="text-3xl font-bold">입찰 참여</h1>
+ <p className="text-muted-foreground mt-2">
+ 참여 가능한 입찰 목록을 확인하고 응찰하실 수 있습니다.
+ </p>
+ </div>
+ </div>
+
+ <Suspense fallback={<BiddingListSkeleton />}>
+ <PartnersBiddingList companyId={companyId} />
+ </Suspense>
+ </div>
+ )
+}
+
+function BiddingListSkeleton() {
+ return (
+ <div className="space-y-4">
+ <Skeleton className="h-12 w-full" />
+ <div className="space-y-2">
+ {Array.from({ length: 5 }).map((_, i) => (
+ <Skeleton key={i} className="h-16 w-full" />
+ ))}
+ </div>
+ </div>
+ )
+}